#ifndef IMAGEPROCESSING_H

#define IMAGEPROCESSING_H

#include<stdio.h>
/** 只支持bmp 24 32 位图片进行操作的类**/
class ImageProcess
{
public:
    ImageProcess();

    /** 将彩色的bmp图片转换成黑白的
     * \param : 原文件名（包括路径地址）
     * \param : 新文件名 （即在原文件名后，.bmp之前添加）
     * \return ：void
     */
    void to_baw(const char *filename,const char *new_name);

    /** \brief : 对bmp图片进行转置操作
     * \param : 原文件名（包括路径地址）
     * \param : 新文件名 （即在原文件名后，.bmp之前添加）
     * \param : 确定转置方向：false 为逆时针旋转90度；true 为顺时针旋转90度
     * \return :void
     */
    void to_transpose(const char *filename,const char *new_name,bool clock_direction);

    /** \brief : 进行镜像操作1：有上下镜像；2：左右镜像
     * \param : 原文件名（包括路径地址）
     * \param : 新文件名 （即在原文件名后，.bmp之前添加）
     * \param : 确定镜像方向：false 左右镜像；true 为上下镜像
     * \return void
     */
    void to_mirror(const char *filename,const char *new_name,bool mirros_direction);
private:
    struct ImageInfo;
    struct RGN;
    class File_operator;
    File_operator *file_operator;
};
#endif // IMAGEPROCESSING_H
